// 验证模块
const Joi = require('joi');
// 房间模块
const {
	Room
} = require('../../../model/Room');

module.exports = async (req, res) => {
	// 获取房间id
	const id = req.params['id'];
	// 验证模型
	const schema = Joi.string().required().regex(/^[0-9a-fA-F]{24}$/).error(new Error('房间id不符合格式'))
	// 如果id中存在-
	if (id.indexOf('-') != -1) {
		// 批量删除
		// 将字符串id分割为数组
		const ids = id.split('-');
		// 存储结果数组
		const result = [];
		// 验证
		for (const item of ids) {
			// 验证
			let {
				error
			} = Joi.validate(item, schema);
			// 数据格式没有通过验证
			if (error) return res.sendResult(null, 400, error.message);
		}
		// 通过验证
		for (const item of ids) {
			// 删除房间
			let type = await Room.findByIdAndDelete(item);
			// 将删除的房间存储在数组中
			result.push(type);
		}
		// 响应
		res.sendResult(result, 200, '批量删除房间成功');

	} else {
		// 单个删除
		// 验证
		const {
			error
		} = Joi.validate(id, schema);
		// 数据格式没有通过验证
		if (error) return res.sendResult(null, 400, error.message);
		// 通过验证
		// 删除房间
		let room = await Room.findByIdAndDelete(id);
		// 响应
		res.sendResult(room, 200, '删除房间成功');
	}

};